<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 2018/8/21
 * Time: 15:59
 */

namespace app\mingteng\logic;


use think\Model;

class ExcelLogic extends Model
{
    public function __construct() {

        /*导入phpExcel核心类 SPAPP_PATH为存放phpexcel路径的定义，在入口文件index.php定义*/
		include VENDOR_PATH."phpexcel\Classes\PHPExcel.php";
    }

    //导入excel内容转换成数组，import方法要用到
    public function import($filePath){
        $PHPExcel = new \PHPExcel();//实例化，一定要注意命名空间的问题加\

        /**默认用excel2007读取excel，若格式不对，则用之前的版本进行读取*/
        $PHPReader = new \PHPExcel_Reader_Excel2007();
        if(!$PHPReader->canRead($filePath)){
            $PHPReader = new \PHPExcel_Reader_Excel5();
            if(!$PHPReader->canRead($filePath)){
                echo 'no Excel';
                return;
            }
        }

        $PHPExcel = $PHPReader->load($filePath);
        $currentSheet = $PHPExcel->getSheet(0);  //读取excel文件中的第一个工作表
        $allColumn = $currentSheet->getHighestColumn(); //取得最大的列号
        $allRow = $currentSheet->getHighestRow(); //取得一共有多少行
        //file_put_contents('a.txt',$allColumn,FILE_APPEND);
        $erp_orders_id = array();  //声明数组

        /**从第二行开始输出，因为excel表中第一行为列名*/
        for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
            /**从第A列开始输出*/
            for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
                //数据坐标
                $address = $currentColumn . $currentRow;
                //读取到的数据，保存到数组$arr中
                $data[$currentRow][$currentColumn] = $currentSheet->getCell($address)->getValue();
                /**如果输出汉字有乱码，则需将输出内容用iconv函数进行编码转换，如下将gb2312编码转为utf-8编码输出*/
                //echo iconv('utf-8','gb2312', $val)."\t";

            }
        }
        return $data;
    }
}